package com.jxtc.enterprise.common.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.time.LocalDateTime;

@Getter
@Setter
@ToString
@TableName(value = "company")
public class Company {
    /**
     * uuid
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    /**
     * 公司名称
     */
    private String name;
    /**
     * 商铺端展示的公司昵称（防止公司真实名称泄露给商户）
     */
    private String nickname;
    /**
     * 送餐地址
     */
    private String address;
    /**
     * 账户余额
     */
    private Integer balance;
    /**
     * 是否自动充值
     */
    private Boolean autoRecharge;
    /**
     * 阈值，单位为分；当启用自动充值时生效，余额低于阈值时自动充值
     */
    private Integer threshold;
    /**
     * 充值金额，单位为分；当启用自动充值时生效，余额低于阈值时自动充值
     */
    private Integer amount;
    /**
     * HR 名称
     */
    private String hrName;
    /**
     * 手机号，HR 页面登录账号
     */
    private String phoneNumber;
    /**
     * HR 页面登录密码
     */
    private String password;
    /**
     * 公司自定义背景图片（JSON 字符串）
     */
    private String images;
    /**
     * 公司午餐/晚餐相关配送信息（该字段已过时，使用 menu_store_config 表中的信息代替）
     */
    @Deprecated
    private String deliveryInfo;

    /**
     * 该公司配置的全局默认用餐时段信息，JSONArray 格式对应 MealConfig 类
     */
    @TableField("meals_config")
    private String mealsConfig;

    /**
     * 该公司属于哪一个租户负责
     */
    private String tenantId;

    /**
     * 是否停止供餐的标志，1 表示停止供餐，0 表示正常供餐
     */
    private Boolean stopFlag;

    /**
     * 是否显示客户餐，1 表示显示客户餐，2 表示不显示客户餐（默认值为 2）。见枚举 ShowVipUserFoodEnum
     */
    private Integer showVipUserFoodBtn;
    /**
     * 客户餐餐品名称
     */
    private String vipUserMealSetName;
    /**
     * 客户餐餐品价格，单位：分
     */
    private Integer vipUserMealSetPrice;
    /**
     * 客户餐打印机 SN
     */
    private String vipUserPrinterSn;
    /**
     * 打印机类型，1 表示贴纸打印机（默认），2表示小票打印机
     */
    private Integer vipUserPrinterType;
    /**
     * 客户餐可选车型列表，以 "," 分割
     */
    private String vipUserCarTypeList;
    /**
     * 客户餐访客类型列表，以 "," 分割
     */
    private String vipUserVisitorTypeList;
    /**
     * 软删除标记，1 表示已删除，0 表示未删除
     */
    private Boolean delFlag;
    /**
     * 创建时间，在创建时默认传值，不需要手动操作
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    /**
     * 更新时间，在更新时默认传值，不需要手动操作
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
